# 列表切片
#使用模式：[start：end：step]
# start表示切片开始  默认是0 ；end表示切片截止，默认是列表长度 ；step表示切片的步长，默认是1
# 当start是0时，可以省略；当end是列表的长度时，可以省略；当step是1是，也可以省略，并且省略步长可以同时省略最后一个冒号
# 当step是负数时，表示反向切片，这时start值应该比end大

# 知识点1： list的查询（切片）
#取值 index索引（单个值）   and slice切片 （多个或单个）
#   -3,-2-,-1,0,1,2,3
print(names[3])
#print(names[5])
#IndexError:list index out of range
print(names[-2])
#从左往右取值时，右边的值取不到
print(names[1:3])
#如果从0开始取值，0可以省略
print(names[:3])

#在右往左取值时，右边的值取不到
print(names[-3:-1])
#怎么样才能取到-1
print(names[-3:])

names = ['mike','marry','jan','jack']
print(names) #打出所有的名字
print(names[0],names[2]) #取特定位置的值
print(names[1:3]) #切片 取出中间一些连续的值
print(names[-1]) #切片 取出最后一个值
print(names[-3:-1]) #切片 从后往前取出一些值
print(names[-2:]) #切片  取到最后一个值
print(names[:2]) #切片 同上，即'0'可以省略


#特殊情况,可以指定 slice切片的步长 step
num_list = list(range(10))
print(num_list)
print(num_list[0:7:3])

